import 'package:flutter_easylogger/flutter_logger.dart';
import 'package:get/get.dart';

import '../../../config/router_page_name.dart';
import '../../../utils/user_info_utils.dart';

class MineLogic extends GetxController {
  // 用户类型
  final userType = ''.obs;

  @override
  void onInit() {
    super.onInit();
    getUserType();
  }

  // 获取用户类型
  void getUserType() {
    try {
      var loginModel = DataUtils().getLoginModel();
      userType.value = loginModel.userType ?? 'STUDENT';
      Logger.d('获取到用户类型: ${userType.value}');
    } catch (e) {
      userType.value = 'STUDENT';
      Logger.e('获取用户类型异常: $e');
    }
  }

  // 获取用户名称
  String getUserName() {
    final loginModel = DataUtils().getLoginModel();
    String type = loginModel.userType ?? 'STUDENT';

    if (type == 'MERCHANT') {
      return '商家';
    } else if (type == 'ADMIN') {
      return '管理员';
    } else {
      return '学生';
    }
  }

  // 获取用户ID
  String getUserId() {
    final loginModel = DataUtils().getLoginModel();
    return loginModel.id?.toString() ?? '未知';
  }

  // 前往菜品管理页面
  void goToFoodManagement() {
    Get.toNamed(RouterPageName.merchantFoodManagementPage);
  }

  // 前往订单管理页面
  void goToOrderManagement() {
    Get.toNamed(RouterPageName.merchantOrderManagementPage);
  }

  // 获取版本号 - 固定为v1.0.0
  String getVersionName() {
    return 'v1.0.0';
  }

  // 退出登录
  void logout() async {
    // 清除所有本地数据
    await DataUtils().removeAllData();

    // 导航到登录页面，并移除所有路由堆栈
    Get.offAllNamed(RouterPageName.loginAccountPage);
  }
}